package twitter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
import com.csvreader.CsvReader;

public class CSVReader {

	private Set<Set<String>> conjuntoTweets = new HashSet<Set<String>>();
	private Set<String> conjunto = new HashSet<String>();
	private ArrayList<String> listaTweets;
	
	private CsvReader readerPolitica;
	private CsvReader readerUbuntu;
	private CsvReader readerPicasso;
	
	/**
	* @param args
	* @throws FileNotFoundException 
	* @throws FileNotFoundException
	*/
	public CSVReader(/*String ficheroPolitica, String ficheroUbuntu, String ficheroPicasso, ArrayList<String> tweets*/) throws FileNotFoundException{

	  //Le pasamos la URL del archivo CSV a leer.
	  readerPolitica = new CsvReader("/Users/angelruizalonso/Documents/workspace/IL/Obama_reducido.csv");
	  readerUbuntu = new CsvReader("/Users/angelruizalonso/Documents/workspace/IL/Ubuntu_reducido.csv");
	  readerPicasso = new CsvReader("/Users/angelruizalonso/Documents/workspace/IL/Picasso_reducido.csv");
	  
	  listaTweets = new ArrayList<String>();
	  
	  try {
	    while (readerPolitica.readRecord()){
	    //reader.get(Integer) - devuelve el contenido del numero de columna que le pasamos.
	    String tweet = readerPolitica.get(0);
	    if (tweet.length()>0){
	    	conjunto.add(tweet);
	    	listaTweets.add(tweet);
	    }
	    //tweets.add(tweet);
	    }
	    System.out.println("tamaño csv obama: " + conjunto.size());
	  }catch (IOException e) {
	    e.printStackTrace();
	  }
	  readerPolitica.close();
	  conjuntoTweets.add(conjunto);
	  conjunto = new HashSet<String>();
	  try {
	    while (readerUbuntu.readRecord()){
	    //reader.get(Integer) - devuelve el contenido del numero de columna que le pasamos.
	    String tweet = readerUbuntu.get(0);
	    //System.out.println(tweet);
	    if (tweet.length()>0){
	    	conjunto.add(tweet);
	    	listaTweets.add(tweet);
	    }
	    }
	    System.out.println("tamaño csv ubuntu: " + conjunto.size());
	  }catch (IOException e) {
	    e.printStackTrace();
	  }
	  readerUbuntu.close();
	  conjuntoTweets.add(conjunto);
	  
	  conjunto = new HashSet<String>();
	  try {
	    while (readerPicasso.readRecord()){
	    //reader.get(Integer) - devuelve el contenido del numero de columna que le pasamos.
	    String tweet = readerPicasso.get(0);
	    if (tweet.length()>0){
	    	conjunto.add(tweet);
	    	listaTweets.add(tweet);
	    }
	    }
	    System.out.println("tamaño csv picasso: " + conjunto.size());
	  }catch (IOException e) {
	    e.printStackTrace();
	  }
	  readerPicasso.close();
	  conjuntoTweets.add(conjunto);
	}
	
	public Set<Set<String>> dameConjuntoClusters(){
		return conjuntoTweets;
	}
	
	public ArrayList<String> dameListaTweets(){
		return listaTweets;
	}
}

